package model

//// Stock 仓库
//type Stock struct {
//	BaseModel
//	Name    string
//	Address string
//}

type Inventory struct {
	BaseModel
	Goods   int32 `gorm:"type:int comment '商品id';index"`
	Stocks  int32 `gorm:"type:int comment '库存'"`
	Version int32 `gorm:"type:int comment '分布式锁-乐观锁'"`
}

type InventoryNew struct {
	BaseModel
	Goods   int32 `gorm:"type:int comment '商品id';index"`
	Stocks  int32 `gorm:"type:int comment '库存'"`
	Version int32 `gorm:"type:int comment '分布式锁-乐观锁'"`
	Freeze  int32 `gorm:"type:int comment '冻结库存'"`
}

// StockSellDetail 订单商品信息
type StockSellDetail struct {
	OrderSn string          `gorm:"type:varchar(200) comment '订单号';index:idx_order_sn,unique"` // index:idx_order_sn,unique 创建 索引名字idx_order_sn 唯一
	Status  int32           `gorm:"type:varchar(200) comment '状态'"`                            // 1 一扣减  2 已归还
	Detail  GoodsDetailList `gorm:"type:varchar(200) comment '商品信息';not null"`
}

func (StockSellDetail) TableName() string {
	return "stockselldetail"
}

//// Delivery 仓库
//type Delivery struct {
//	Goods   int32  `gorm:"type:int comment '商品id';index"`
//	Nums    int32  `gorm:"type:int comment '出库量'"`
//	OrderSn string `gorm:"type:varchar(200) comment '订单号'"`
//	Status  string `gorm:"type:varchar(200) comment '状态'"` // 如果回归 需要额外添加一个字段 1 表示等待支付 2 表示支付成功  如果成功修改成为2  如果出错删除这条记录 或 3 失败
//}

//type InventoryHistory struct {
//	user   int32
//	inventory  int32
//	nums   int32
//	order  int32
//	status int32 // 1. 表示库存是预扣减, 幂等性 2. 表示已经支付
//}
